#ifndef _ERRNO_H_
#define _ERRNO_H_

#define	EPERM 				1		/* Not super-user */
#define	ENOENT 				2		/* No such file or directory */
#define	ESRCH 				3		/* No such process */
#define	EINTR 				4		/* Interrupted system call */
#define	EIO 				5		/* I/O error */
#define	ENXIO 				6		/* No such device or address */
#define	E2BIG 				7		/* Arg list too long */
#define	ENOEXEC 			8		/* Exec format error */
#define	EBADF 				9		/* Bad file number */
#define	ECHILD 				10		/* No children */
#define	EAGAIN 				11		/* No more processes */
#define	ENOMEM 				12		/* Not enough core */
#define	EACCES 				13		/* Permission denied */
#define	EFAULT 				14		/* Bad address */

#ifdef __LINUX_ERRNO_EXTENSIONS__
#define	ENOTBLK 			15		/* Block device required */
#endif

#define	EBUSY 				16		/* Mount device busy */
#define	EEXIST 				17		/* File exists */
#define	EXDEV 				18		/* Cross-device link */
#define	ENODEV 				19		/* No such device */
#define	ENOTDIR 			20		/* Not a directory */
#define	EISDIR 				21		/* Is a directory */
#define	EINVAL 				22		/* Invalid argument */
#define	ENFILE 				23		/* Too many open files in system */
#define	EMFILE 				24		/* Too many open files */
#define	ENOTTY 				25		/* Not a typewriter */
#define	ETXTBSY 			26		/* Text file busy */
#define	EFBIG 				27		/* File too large */
#define	ENOSPC 				28		/* No space left on device */
#define	ESPIPE 				29		/* Illegal seek */
#define	EROFS 				30		/* Read only file system */
#define	EMLINK 				31		/* Too many links */
#define	EPIPE 				32		/* Broken pipe */
#define	EDOM 				33		/* Math arg out of domain of func */
#define	ERANGE 				34		/* Math result not representable */
#define	ENOMSG 				35		/* No message of desired type */
#define	EIDRM 				36		/* Identifier removed */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define	ECHRNG 				37		/* Channel number out of range */
#define	EL2NSYNC 			38		/* Level 2 not synchronized */
#define	EL3HLT 				39		/* Level 3 halted */
#define	EL3RST 				40		/* Level 3 reset */
#define	ELNRNG 				41		/* Link number out of range */
#define	EUNATCH 			42		/* Protocol driver not attached */
#define	ENOCSI 				43		/* No CSI structure available */
#define	EL2HLT 				44		/* Level 2 halted */
#endif
#define	EDEADLK 			45		/* Deadlock condition */
#define	ENOLCK 				46		/* No record locks available */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define EBADE 				50		/* Invalid exchange */
#define EBADR 				51		/* Invalid request descriptor */
#define EXFULL 				52		/* Exchange full */
#define ENOANO 				53		/* No anode */
#define EBADRQC 			54		/* Invalid request code */
#define EBADSLT 			55		/* Invalid slot */
#define EDEADLOCK 			56		/* File locking deadlock error */
#define EBFONT 				57		/* Bad font file fmt */
#endif
#define ENOSTR 				60		/* Device not a stream */
#define ENODATA 			61		/* No data (for no delay io) */
#define ETIME 				62		/* Timer expired */
#define ENOSR 				63		/* Out of streams resources */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define ENONET 				64		/* Machine is not on the network */
#define ENOPKG 				65		/* Package not installed */
#define EREMOTE 			66		/* The object is remote */
#endif
#define ENOLINK 			67		/* The link has been severed */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define EADV 				68		/* Advertise error */
#define ESRMNT 				69		/* Srmount error */
#define	ECOMM 				70		/* Communication error on send */
#endif
#define EPROTO 				71		/* Protocol error */
#define	EMULTIHOP 			74		/* Multihop attempted */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define	ELBIN 				75		/* Inode is remote (not really error) */
#define	EDOTDOT 			76		/* Cross mount point (not really error) */
#endif
#define EBADMSG 			77		/* Trying to read unreadable message */
#define EFTYPE 				79		/* Inappropriate file type or format */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define ENOTUNIQ 			80		/* Given log. name not unique */
#define EBADFD 				81		/* f.d. invalid for this operation */
#define EREMCHG 			82		/* Remote address changed */
#define ELIBACC 			83		/* Can't access a needed shared lib */
#define ELIBBAD 			84		/* Accessing a corrupted shared lib */
#define ELIBSCN 			85		/* .lib section in a.out corrupted */
#define ELIBMAX 			86		/* Attempting to link in too many libs */
#define ELIBEXEC 			87		/* Attempting to exec a shared library */
#endif
#define ENOSYS 				88		/* Function not implemented */
#ifdef __CYGWIN__
#define ENMFILE 			89      /* No more files */
#endif
#define ENOTEMPTY 			90		/* Directory not empty */
#define ENAMETOOLONG 		91		/* File or path name too long */
#define ELOOP 				92		/* Too many symbolic links */
#define EOPNOTSUPP 			95		/* Operation not supported on transport endpoint */
#define EPFNOSUPPORT 		96 		/* Protocol family not supported */
#define ECONNRESET 			104  	/* Connection reset by peer */
#define ENOBUFS 			105		/* No buffer space available */
#define EAFNOSUPPORT 		106 	/* Address family not supported by protocol family */
#define EPROTOTYPE 			107		/* Protocol wrong type for socket */
#define ENOTSOCK 			108		/* Socket operation on non-socket */
#define ENOPROTOOPT 		109		/* Protocol not available */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define ESHUTDOWN 			110		/* Can't send after socket shutdown */
#endif
#define ECONNREFUSED 		111		/* Connection refused */
#define EADDRINUSE 			112		/* Address already in use */
#define ECONNABORTED 		113		/* Connection aborted */
#define ENETUNREACH 		114		/* Network is unreachable */
#define ENETDOWN 			115		/* Network interface is not configured */
#define ETIMEDOUT 			116		/* Connection timed out */
#define EHOSTDOWN 			117		/* Host is down */
#define EHOSTUNREACH 		118		/* Host is unreachable */
#define EINPROGRESS 		119		/* Connection already in progress */
#define EALREADY 			120		/* Socket already connected */
#define EDESTADDRREQ 		121		/* Destination address required */
#define EMSGSIZE 			122		/* Message too long */
#define EPROTONOSUPPORT 	123		/* Unknown protocol */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define ESOCKTNOSUPPORT 	124		/* Socket type not supported */
#endif
#define EADDRNOTAVAIL 		125		/* Address not available */
#define ENETRESET 			126
#define EISCONN 			127		/* Socket is already connected */
#define ENOTCONN 			128		/* Socket is not connected */
#define ETOOMANYREFS 		129
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define EPROCLIM 			130
#define EUSERS 				131
#endif
#define EDQUOT 				132
#define ESTALE 				133
#define ENOTSUP 			134		/* Not supported */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define ENOMEDIUM 			135   	/* No medium (in tape drive) */
#endif
#ifdef __CYGWIN__
#define ENOSHARE 			136    	/* No such host or network path */
#define ECASECLASH 			137  	/* Filename exists with different case */
#endif
#define EILSEQ 				138
#define EOVERFLOW 			139		/* Value too large for defined data type */
#define ECANCELED 			140		/* Operation canceled */
#define ENOTRECOVERABLE 	141		/* State not recoverable */
#define EOWNERDEAD 			142		/* Previous owner died */
#ifdef __LINUX_ERRNO_EXTENSIONS__
#define ESTRPIPE 			143		/* Streams pipe error */
#endif
#define EWOULDBLOCK 		EAGAIN	/* Operation would block */

#define __ELASTERROR 		2000	/* Users can add values starting here */

#endif
